home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 20.3 KB | 797 lines | [TEXT/MPS ] |
- {
- File: MacTCP.p
-
- Contains: TCP Manager Interfaces.
-
- Version: Technology: MacTCP 2.0.6
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
-
- }
- {$IFC UNDEFINED UsingIncludes}
- {$SETC UsingIncludes := 0}
- {$ENDC}
-
- {$IFC NOT UsingIncludes}
- UNIT MacTCP;
- INTERFACE
- {$ENDC}
-
- {$IFC UNDEFINED __MACTCP__}
- {$SETC __MACTCP__ := 1}
-
- {$I+}
- {$SETC MacTCPIncludes := UsingIncludes}
- {$SETC UsingIncludes := 1}
-
- {$IFC UNDEFINED __TYPES__}
- {$I Types.p}
- {$ENDC}
- {$IFC UNDEFINED __MIXEDMODE__}
- {$I MixedMode.p}
- {$ENDC}
- {$IFC UNDEFINED __APPLETALK__}
- {$I AppleTalk.p}
- {$ENDC}
-
- {$PUSH}
- {$ALIGN MAC68K}
- {$LibExport+}
-
- {$IFC FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED }
- {
- Developer Notes:
- 0. This MacTCP header replaces what used to be defined in the following header files
- MacTCPCommonTypes.h
- GetMyIPAddr.h
- MiscIPPB.h
- TCPPB.h
- UDPPB.h
-
- When the various control calls are made to the ip driver, you must set up a
- NewRoutineDescriptor for every non-nil completion routine and/or notifyProc parameter.
- Otherwise, the 68K driver code, will not correctly call your routine.
- 1. For ipctlGetAddr Control calls, use NewGetIPIOCompletionProc
- to set up a GetIPIOCompletionUPP universal procptr to pass as
- the ioCompletion parameter.
- 2. For the ipctlEchoICMP and ipctlLAPStats Control calls, use
- NewIPIOCompletion to set up a IPIOCompletionUPP universal procptr
- to pass in the ioCompletion field of the parameter block.
- 3. For TCPCreatePB Control calls, use NewTCPNotifyProc to set up a
- TCPNotifyUPP universal procptr to pass in the notifyProc field
- of the parameter block
- 4. For all of the TCP Control calls using the TCPiopb parameter block,
- use NewTCPIOCompletionProc to set up a TCPIOCompletionUPP
- universal procptr to pass in the ioCompletion field of the paramter
- block.
- 5. For UDBCreatePB Control calls, use NewUDPNotifyProc to set up a
- UDPNotifyUPP universal procptr to pass in the notifyProc field
- of the parameter block
- 6. For all of the UDP Control calls using the UDPiopb parameter block,
- use NewUDPIOCompletionProc to set up a UDPIOCompletionUPP
- universal procptr to pass in the ioCompletion field of the paramter
- block.
- 7. For all calls implementing a notifyProc or ioCompletion routine
- which was set up using a NewTCPRoutineProc call, do not call
- DisposeRoutineSDescriptor on the universal procptr until
- after the completion or notify proc has completed.
- }
- { MacTCP return Codes in the range -23000 through -23049 }
-
- CONST
- inProgress = 1; { I/O in progress }
- ipBadLapErr = -23000; { bad network configuration }
- ipBadCnfgErr = -23001; { bad IP configuration error }
- ipNoCnfgErr = -23002; { missing IP or LAP configuration error }
- ipLoadErr = -23003; { error in MacTCP load }
- ipBadAddr = -23004; { error in getting address }
- connectionClosing = -23005; { connection is closing }
- invalidLength = -23006;
- connectionExists = -23007; { request conflicts with existing connection }
- connectionDoesntExist = -23008; { connection does not exist }
- insufficientResources = -23009; { insufficient resources to perform request }
- invalidStreamPtr = -23010;
- streamAlreadyOpen = -23011;
- connectionTerminated = -23012;
- invalidBufPtr = -23013;
- invalidRDS = -23014;
- invalidWDS = -23014;
- openFailed = -23015;
- commandTimeout = -23016;
- duplicateSocket = -23017;
-
- { Error codes from internal IP functions }
- ipDontFragErr = -23032; { Packet too large to send w/o fragmenting }
- ipDestDeadErr = -23033; { destination not responding }
- icmpEchoTimeoutErr = -23035; { ICMP echo timed-out }
- ipNoFragMemErr = -23036; { no memory to send fragmented pkt }
- ipRouteErr = -23037; { can't route packet off-net }
- nameSyntaxErr = -23041;
- cacheFault = -23042;
- noResultProc = -23043;
- noNameServer = -23044;
- authNameErr = -23045;
- noAnsErr = -23046;
- dnrErr = -23047;
- outOfMemory = -23048;
-
- BYTES_16WORD = 2; { bytes per = 16, bit ip word }
- BYTES_32WORD = 4; { bytes per = 32, bit ip word }
- BYTES_64WORD = 8; { bytes per = 64, bit ip word }
-
- { 8-bit quantity }
-
- TYPE
- b_8 = UInt8;
- { 16-bit quantity }
- b_16 = UInt16;
- { 32-bit quantity }
- b_32 = UInt32;
- { IP address is 32-bits }
- ip_addr = b_32;
- ip_addrbytesPtr = ^ip_addrbytes;
- ip_addrbytes = RECORD
- CASE INTEGER OF
- 0: (
- addr: b_32;
- );
- 1: (
- byte: PACKED ARRAY [0..3] OF UInt8;
- );
- END;
-
- wdsEntryPtr = ^wdsEntry;
- wdsEntry = RECORD
- length: INTEGER; { length of buffer }
- ptr: Ptr; { pointer to buffer }
- END;
-
- rdsEntryPtr = ^rdsEntry;
- rdsEntry = RECORD
- length: INTEGER; { length of buffer }
- ptr: Ptr; { pointer to buffer }
- END;
-
- BufferPtr = LONGINT;
- StreamPtr = LONGINT;
-
- CONST
- netUnreach = 0;
- hostUnreach = 1;
- protocolUnreach = 2;
- portUnreach = 3;
- fragReqd = 4;
- sourceRouteFailed = 5;
- timeExceeded = 6;
- parmProblem = 7;
- missingOption = 8;
- lastICMPMsgType = 32767;
-
-
- TYPE
- ICMPMsgType = INTEGER;
- ip_port = b_16;
- ICMPReportPtr = ^ICMPReport;
- ICMPReport = RECORD
- streamPtr: StreamPtr;
- localHost: ip_addr;
- localPort: ip_port;
- remoteHost: ip_addr;
- remotePort: ip_port;
- reportType: INTEGER;
- optionalAddlInfo: INTEGER;
- optionalAddlInfoPtr: LONGINT;
- END;
-
- { csCode to get our IP address }
-
- CONST
- ipctlGetAddr = 15;
-
-
- TYPE
- GetAddrParamBlockPtr = ^GetAddrParamBlock;
- GetIPIOCompletionProcPtr = ProcPtr; { PROCEDURE GetIPIOCompletion(VAR iopb: GetAddrParamBlock); C; }
-
- GetIPIOCompletionUPP = UniversalProcPtr;
- GetAddrParamBlock = RECORD
- qLink: QElemPtr;
- qType: INTEGER;
- ioTrap: INTEGER;
- ioCmdAddr: Ptr;
- ioCompletion: GetIPIOCompletionUPP;
- ioResult: OSErr;
- ioNamePtr: StringPtr;
- ioVRefNum: INTEGER;
- ioCRefNum: INTEGER;
- csCode: INTEGER;
- ourAddress: ip_addr; { our IP address }
- ourNetMask: LONGINT; { our IP net mask }
- END;
-
- { control codes }
-
- CONST
- ipctlEchoICMP = 17; { send icmp echo }
- ipctlLAPStats = 19; { get lap stats }
-
-
- TYPE
- ICMPParamBlockPtr = ^ICMPParamBlock;
- IPIOCompletionProcPtr = ProcPtr; { PROCEDURE IPIOCompletion(VAR iopb: ICMPParamBlock); C; }
-
- IPIOCompletionUPP = UniversalProcPtr;
- ICMPParamBlock = RECORD
- qLink: QElemPtr;
- qType: INTEGER;
- ioTrap: INTEGER;
- ioCmdAddr: Ptr;
- ioCompletion: IPIOCompletionUPP;
- ioResult: OSErr;
- ioNamePtr: StringPtr;
- ioVRefNum: INTEGER;
- ioCRefNum: INTEGER;
- csCode: INTEGER;
- params: ARRAY [0..10] OF INTEGER;
- echoRequestOut: LONGINT; { time in ticks of when the echo request went out }
- echoReplyIn: LONGINT; { time in ticks of when the reply was received }
- echoedData: rdsEntry; { data received in responce }
- options: Ptr;
- userDataPtr: LONGINT;
- END;
-
- ICMPEchoNotifyProcPtr = ProcPtr; { PROCEDURE ICMPEchoNotify(VAR iopb: ICMPParamBlock); C; }
-
- ICMPEchoNotifyUPP = UniversalProcPtr;
- LAPStatsPtr = ^LAPStats;
- IPParamBlockPtr = ^IPParamBlock;
- IPParamBlock = RECORD
- qLink: QElemPtr;
- qType: INTEGER;
- ioTrap: INTEGER;
- ioCmdAddr: Ptr;
- ioCompletion: IPIOCompletionUPP;
- ioResult: OSErr;
- ioNamePtr: StringPtr;
- ioVRefNum: INTEGER;
- ioCRefNum: INTEGER;
- csCode: INTEGER;
- CASE INTEGER OF
- 0: (
- dest: ip_addr; { echo to IP address }
- data: wdsEntry;
- timeout: INTEGER;
- options: Ptr;
- optLength: INTEGER;
- icmpCompletion: ICMPEchoNotifyUPP;
- userDataPtr: LONGINT;
- );
- 1: (
- lapStatsPtr: LAPStatsPtr;
- );
- END;
-
- nbp_entryPtr = ^nbp_entry;
- nbp_entry = RECORD
- ip_address: ip_addr; { IP address }
- at_address: AddrBlock; { matching AppleTalk address }
- gateway: BOOLEAN; { TRUE if entry for a gateway }
- valid: BOOLEAN; { TRUE if LAP address is valid }
- probing: BOOLEAN; { TRUE if NBP lookup pending }
- afiller: SInt8; { Filler for proper byte alignment }
- age: LONGINT; { ticks since cache entry verified }
- access: LONGINT; { ticks since last access }
- filler: ARRAY [0..115] OF SInt8; { for internal use only !!! }
- END;
-
- Enet_addrPtr = ^Enet_addr;
- Enet_addr = RECORD
- en_hi: b_16;
- en_lo: b_32;
- END;
-
- arp_entryPtr = ^arp_entry;
- arp_entry = RECORD
- age: INTEGER; { cache aging field }
- protocol: b_16; { Protocol type }
- ip_address: ip_addr; { IP address }
- en_address: Enet_addr; { matching Ethernet address }
- END;
-
- LAPStatsAddrXlationPtr = ^LAPStatsAddrXlation;
- LAPStatsAddrXlation = RECORD
- CASE INTEGER OF
- 0: (
- arp_table: arp_entryPtr;
- );
- 1: (
- nbp_table: nbp_entryPtr;
- );
- END;
-
- LAPStats = RECORD
- ifType: INTEGER;
- ifString: CStringPtr;
- ifMaxMTU: INTEGER;
- ifSpeed: LONGINT;
- ifPhyAddrLength: INTEGER;
- ifPhysicalAddress: CStringPtr;
- AddrXlation: LAPStatsAddrXlation;
- slotNumber: INTEGER;
- END;
-
- { number of ARP table entries }
-
- CONST
- ARP_TABLE_SIZE = 20;
-
- NBP_TABLE_SIZE = 20; { number of NBP table entries }
- NBP_MAX_NAME_SIZE = 28;
-
- { Command codes }
- TCPCreate = 30;
- TCPPassiveOpen = 31;
- TCPActiveOpen = 32;
- TCPSend = 34;
- TCPNoCopyRcv = 35;
- TCPRcvBfrReturn = 36;
- TCPRcv = 37;
- TCPClose = 38;
- TCPAbort = 39;
- TCPStatus = 40;
- TCPExtendedStat = 41;
- TCPRelease = 42;
- TCPGlobalInfo = 43;
- TCPCtlMax = 49;
-
- TCPClosing = 1;
- TCPULPTimeout = 2;
- TCPTerminate = 3;
- TCPDataArrival = 4;
- TCPUrgent = 5;
- TCPICMPReceived = 6;
- lastEvent = 32767;
-
-
- TYPE
- TCPEventCode = INTEGER;
-
- CONST
- TCPRemoteAbort = 2;
- TCPNetworkFailure = 3;
- TCPSecPrecMismatch = 4;
- TCPULPTimeoutTerminate = 5;
- TCPULPAbort = 6;
- TCPULPClose = 7;
- TCPServiceError = 8;
- lastReason = 32767;
-
-
- TYPE
- TCPTerminationReason = INTEGER;
- TCPNotifyProcPtr = ProcPtr; { PROCEDURE TCPNotify(tcpStream: StreamPtr; eventCode: INTEGER; userDataPtr: Ptr; terminReason: INTEGER; VAR icmpMsg: ICMPReport); }
-
- TCPNotifyUPP = UniversalProcPtr;
- tcp_port = INTEGER;
- { ValidityFlags }
-
- CONST
- timeoutValue = $80;
- timeoutAction = $40;
- typeOfService = $20;
- precedence = $10;
-
- { TOSFlags }
- lowDelay = $01;
- throughPut = $02;
- reliability = $04;
-
-
- TYPE
- TCPCreatePBPtr = ^TCPCreatePB;
- TCPCreatePB = RECORD
- rcvBuff: Ptr;
- rcvBuffLen: LONGINT;
- notifyProc: TCPNotifyUPP;
- userDataPtr: Ptr;
- END;
-
- TCPOpenPBPtr = ^TCPOpenPB;
- TCPOpenPB = RECORD
- ulpTimeoutValue: SInt8;
- ulpTimeoutAction: SInt8;
- validityFlags: SInt8;
- commandTimeoutValue: SInt8;
- remoteHost: ip_addr;
- remotePort: tcp_port;
- localHost: ip_addr;
- localPort: tcp_port;
- tosFlags: SInt8;
- precedence: SInt8;
- dontFrag: BOOLEAN;
- timeToLive: SInt8;
- security: SInt8;
- optionCnt: SInt8;
- options: ARRAY [0..39] OF SInt8;
- userDataPtr: Ptr;
- END;
-
- TCPSendPBPtr = ^TCPSendPB;
- TCPSendPB = RECORD
- ulpTimeoutValue: SInt8;
- ulpTimeoutAction: SInt8;
- validityFlags: SInt8;
- pushFlag: BOOLEAN;
- urgentFlag: BOOLEAN;
- filler: SInt8; { Filler for proper byte alignment }
- wdsPtr: Ptr;
- sendFree: LONGINT;
- sendLength: INTEGER;
- userDataPtr: Ptr;
- END;
-
- { for receive and return rcv buff calls }
- { Note: the filler in the following structure is in a different location than }
- { that specified in the Programmer's Guide. }
- TCPReceivePBPtr = ^TCPReceivePB;
- TCPReceivePB = RECORD
- commandTimeoutValue: SInt8;
- markFlag: BOOLEAN;
- urgentFlag: BOOLEAN;
- filler: SInt8; { Filler for proper byte alignment }
- rcvBuff: Ptr;
- rcvBuffLen: INTEGER;
- rdsPtr: Ptr;
- rdsLength: INTEGER;
- secondTimeStamp: INTEGER;
- userDataPtr: Ptr;
- END;
-
- TCPClosePBPtr = ^TCPClosePB;
- TCPClosePB = RECORD
- ulpTimeoutValue: SInt8;
- ulpTimeoutAction: SInt8;
- validityFlags: SInt8;
- filler: SInt8; { Filler for proper byte alignment }
- userDataPtr: Ptr;
- END;
-
- HistoBucketPtr = ^HistoBucket;
- HistoBucket = RECORD
- value: INTEGER;
- counter: LONGINT;
- END;
-
-
- CONST
- NumOfHistoBuckets = 7;
-
-
- TYPE
- TCPConnectionStatsPtr = ^TCPConnectionStats;
- TCPConnectionStats = RECORD
- dataPktsRcvd: LONGINT;
- dataPktsSent: LONGINT;
- dataPktsResent: LONGINT;
- bytesRcvd: LONGINT;
- bytesRcvdDup: LONGINT;
- bytesRcvdPastWindow: LONGINT;
- bytesSent: LONGINT;
- bytesResent: LONGINT;
- numHistoBuckets: INTEGER;
- sentSizeHisto: ARRAY [0..6] OF HistoBucket;
- lastRTT: INTEGER;
- tmrSRTT: INTEGER;
- rttVariance: INTEGER;
- tmrRTO: INTEGER;
- sendTries: SInt8;
- sourchQuenchRcvd: SInt8;
- END;
-
- TCPStatusPBPtr = ^TCPStatusPB;
- TCPStatusPB = RECORD
- ulpTimeoutValue: SInt8;
- ulpTimeoutAction: SInt8;
- unused: LONGINT;
- remoteHost: ip_addr;
- remotePort: tcp_port;
- localHost: ip_addr;
- localPort: tcp_port;
- tosFlags: SInt8;
- precedence: SInt8;
- connectionState: SInt8;
- filler: SInt8; { Filler for proper byte alignment }
- sendWindow: INTEGER;
- rcvWindow: INTEGER;
- amtUnackedData: INTEGER;
- amtUnreadData: INTEGER;
- securityLevelPtr: Ptr;
- sendUnacked: LONGINT;
- sendNext: LONGINT;
- congestionWindow: LONGINT;
- rcvNext: LONGINT;
- srtt: LONGINT;
- lastRTT: LONGINT;
- sendMaxSegSize: LONGINT;
- connStatPtr: TCPConnectionStatsPtr;
- userDataPtr: Ptr;
- END;
-
- TCPAbortPBPtr = ^TCPAbortPB;
- TCPAbortPB = RECORD
- userDataPtr: Ptr;
- END;
-
- TCPParamPtr = ^TCPParam;
- TCPParam = RECORD
- tcpRtoA: LONGINT;
- tcpRtoMin: LONGINT;
- tcpRtoMax: LONGINT;
- tcpMaxSegSize: LONGINT;
- tcpMaxConn: LONGINT;
- tcpMaxWindow: LONGINT;
- END;
-
- TCPStatsPtr = ^TCPStats;
- TCPStats = RECORD
- tcpConnAttempts: LONGINT;
- tcpConnOpened: LONGINT;
- tcpConnAccepted: LONGINT;
- tcpConnClosed: LONGINT;
- tcpConnAborted: LONGINT;
- tcpOctetsIn: LONGINT;
- tcpOctetsOut: LONGINT;
- tcpOctetsInDup: LONGINT;
- tcpOctetsRetrans: LONGINT;
- tcpInputPkts: LONGINT;
- tcpOutputPkts: LONGINT;
- tcpDupPkts: LONGINT;
- tcpRetransPkts: LONGINT;
- END;
-
- StreamPPtr = ^StreamPtr;
- TCPGlobalInfoPBPtr = ^TCPGlobalInfoPB;
- TCPGlobalInfoPB = RECORD
- tcpParamPtr: TCPParamPtr;
- tcpStatsPtr: TCPStatsPtr;
- tcpCDBTable: ARRAY [0..0] OF StreamPPtr;
- userDataPtr: Ptr;
- maxTCPConnections: INTEGER;
- END;
-
- TCPiopbPtr = ^TCPiopb;
- TCPIOCompletionProcPtr = ProcPtr; { PROCEDURE TCPIOCompletion(VAR iopb: TCPiopb); C; }
-
- TCPIOCompletionUPP = UniversalProcPtr;
- TCPiopb = RECORD
- fill12: ARRAY [0..11] OF SInt8;
- ioCompletion: TCPIOCompletionUPP;
- ioResult: INTEGER;
- ioNamePtr: Ptr;
- ioVRefNum: INTEGER;
- ioCRefNum: INTEGER;
- csCode: INTEGER;
- tcpStream: StreamPtr;
- CASE INTEGER OF
- 0: (
- create: TCPCreatePB;
- );
- 1: (
- open: TCPOpenPB;
- );
- 2: (
- send: TCPSendPB;
- );
- 3: (
- receive: TCPReceivePB;
- );
- 4: (
- close: TCPClosePB;
- );
- 5: (
- abort: TCPAbortPB;
- );
- 6: (
- status: TCPStatusPB;
- );
- 7: (
- globalInfo: TCPGlobalInfoPB;
- );
- END;
-
-
- CONST
- UDPCreate = 20;
- UDPRead = 21;
- UDPBfrReturn = 22;
- UDPWrite = 23;
- UDPRelease = 24;
- UDPMaxMTUSize = 25;
- UDPStatus = 26;
- UDPMultiCreate = 27;
- UDPMultiSend = 28;
- UDPMultiRead = 29;
- UDPCtlMax = 29;
-
- UDPDataArrival = 1;
- UDPICMPReceived = 2;
- lastUDPEvent = 32767;
-
-
- TYPE
- UDPEventCode = INTEGER;
- UDPNotifyProcPtr = ProcPtr; { PROCEDURE UDPNotify(udpStream: StreamPtr; eventCode: INTEGER; userDataPtr: Ptr; VAR icmpMsg: ICMPReport); }
-
- UDPNotifyUPP = UniversalProcPtr;
- udp_port = INTEGER;
- { for create and release calls }
- UDPCreatePBPtr = ^UDPCreatePB;
- UDPCreatePB = RECORD
- rcvBuff: Ptr;
- rcvBuffLen: LONGINT;
- notifyProc: UDPNotifyUPP;
- localPort: INTEGER;
- userDataPtr: Ptr;
- endingPort: udp_port;
- END;
-
- UDPSendPBPtr = ^UDPSendPB;
- UDPSendPB = RECORD
- reserved: INTEGER;
- remoteHost: ip_addr;
- remotePort: udp_port;
- wdsPtr: Ptr;
- checkSum: BOOLEAN;
- filler: SInt8; { Filler for proper byte alignment }
- sendLength: INTEGER;
- userDataPtr: Ptr;
- localPort: udp_port;
- END;
-
- { for receive and buffer return calls }
- UDPReceivePBPtr = ^UDPReceivePB;
- UDPReceivePB = RECORD
- timeOut: INTEGER;
- remoteHost: ip_addr;
- remotePort: udp_port;
- rcvBuff: Ptr;
- rcvBuffLen: INTEGER;
- secondTimeStamp: INTEGER;
- userDataPtr: Ptr;
- destHost: ip_addr; { only for use with multi rcv }
- destPort: udp_port; { only for use with multi rcv }
- END;
-
- UDPMTUPBPtr = ^UDPMTUPB;
- UDPMTUPB = RECORD
- mtuSize: INTEGER;
- remoteHost: ip_addr;
- userDataPtr: Ptr;
- END;
-
- UDPiopbPtr = ^UDPiopb;
- UDPIOCompletionProcPtr = ProcPtr; { PROCEDURE UDPIOCompletion(VAR iopb: UDPiopb); C; }
-
- UDPIOCompletionUPP = UniversalProcPtr;
- UDPiopb = RECORD
- fill12: ARRAY [0..11] OF SInt8;
- ioCompletion: UDPIOCompletionUPP;
- ioResult: INTEGER;
- ioNamePtr: Ptr;
- ioVRefNum: INTEGER;
- ioCRefNum: INTEGER;
- csCode: INTEGER;
- udpStream: StreamPtr;
- CASE INTEGER OF
- 0: (
- create: UDPCreatePB;
- );
- 1: (
- send: UDPSendPB;
- );
- 2: (
- receive: UDPReceivePB;
- );
- 3: (
- mtu: UDPMTUPB;
- );
- END;
-
-
- CONST
- uppGetIPIOCompletionProcInfo = $000000C1;
- uppIPIOCompletionProcInfo = $000000C1;
- uppICMPEchoNotifyProcInfo = $000000C1;
- uppTCPNotifyProcInfo = $0000EEC0;
- uppTCPIOCompletionProcInfo = $000000C1;
- uppUDPNotifyProcInfo = $00003EC0;
- uppUDPIOCompletionProcInfo = $000000C1;
-
- FUNCTION NewGetIPIOCompletionProc(userRoutine: GetIPIOCompletionProcPtr): GetIPIOCompletionUPP;
- {$IFC NOT GENERATINGCFM }
- INLINE $2E9F;
- {$ENDC}
-
- FUNCTION NewIPIOCompletionProc(userRoutine: IPIOCompletionProcPtr): IPIOCompletionUPP;
- {$IFC NOT GENERATINGCFM }
- INLINE $2E9F;
- {$ENDC}
-
- FUNCTION NewICMPEchoNotifyProc(userRoutine: ICMPEchoNotifyProcPtr): ICMPEchoNotifyUPP;
- {$IFC NOT GENERATINGCFM }
- INLINE $2E9F;
- {$ENDC}
-
- FUNCTION NewTCPNotifyProc(userRoutine: TCPNotifyProcPtr): TCPNotifyUPP;
- {$IFC NOT GENERATINGCFM }
- INLINE $2E9F;
- {$ENDC}
-
- FUNCTION NewTCPIOCompletionProc(userRoutine: TCPIOCompletionProcPtr): TCPIOCompletionUPP;
- {$IFC NOT GENERATINGCFM }
- INLINE $2E9F;
- {$ENDC}
-
- FUNCTION NewUDPNotifyProc(userRoutine: UDPNotifyProcPtr): UDPNotifyUPP;
- {$IFC NOT GENERATINGCFM }
- INLINE $2E9F;
- {$ENDC}
-
- FUNCTION NewUDPIOCompletionProc(userRoutine: UDPIOCompletionProcPtr): UDPIOCompletionUPP;
- {$IFC NOT GENERATINGCFM }
- INLINE $2E9F;
- {$ENDC}
-
- PROCEDURE CallGetIPIOCompletionProc(VAR iopb: GetAddrParamBlock; userRoutine: GetIPIOCompletionUPP);
- {$IFC NOT GENERATINGCFM}
- {To be implemented: Glue to move parameters into registers.}
- {$ENDC}
-
- PROCEDURE CallIPIOCompletionProc(VAR iopb: ICMPParamBlock; userRoutine: IPIOCompletionUPP);
- {$IFC NOT GENERATINGCFM}
- {To be implemented: Glue to move parameters into registers.}
- {$ENDC}
-
- PROCEDURE CallICMPEchoNotifyProc(VAR iopb: ICMPParamBlock; userRoutine: ICMPEchoNotifyUPP);
- {$IFC NOT GENERATINGCFM}
- {To be implemented: Glue to move parameters into registers.}
- {$ENDC}
-
- PROCEDURE CallTCPNotifyProc(tcpStream: StreamPtr; eventCode: INTEGER; userDataPtr: Ptr; terminReason: INTEGER; VAR icmpMsg: ICMPReport; userRoutine: TCPNotifyUPP);
- {$IFC NOT GENERATINGCFM}
- INLINE $205F, $4E90;
- {$ENDC}
-
- PROCEDURE CallTCPIOCompletionProc(VAR iopb: TCPiopb; userRoutine: TCPIOCompletionUPP);
- {$IFC NOT GENERATINGCFM}
- {To be implemented: Glue to move parameters into registers.}
- {$ENDC}
-
- PROCEDURE CallUDPNotifyProc(udpStream: StreamPtr; eventCode: INTEGER; userDataPtr: Ptr; VAR icmpMsg: ICMPReport; userRoutine: UDPNotifyUPP);
- {$IFC NOT GENERATINGCFM}
- INLINE $205F, $4E90;
- {$ENDC}
-
- PROCEDURE CallUDPIOCompletionProc(VAR iopb: UDPiopb; userRoutine: UDPIOCompletionUPP);
- {$IFC NOT GENERATINGCFM}
- {To be implemented: Glue to move parameters into registers.}
- {$ENDC}
- {$ENDC}
- {$ALIGN RESET}
- {$POP}
-
- {$SETC UsingIncludes := MacTCPIncludes}
-
- {$ENDC} {__MACTCP__}
-
- {$IFC NOT UsingIncludes}
- END.
- {$ENDC}
-